package com.mf.ergate.web.service.monitor;

import com.mf.ergate.api.monitor.model.dto.LoginLogCreateDto;
import com.mf.ergate.api.monitor.model.dto.LoginLogDeleteDto;
import com.mf.ergate.api.monitor.model.dto.LoginLogQueryDto;
import com.mf.ergate.api.monitor.model.dto.LoginLogUpdateDto;
import com.mf.ergate.api.monitor.model.vo.LoginLogVo;
import com.mf.framework.common.model.Page;

import java.util.List;

/**
 * 登录日志Service层接口类
 * User: zhaoming
 * DateTime: 2019-02-12
 * To change this template use File | Settings | File Templates.
 **/
public interface LoginLogService{

    /**
     * 新增
     * @param loginLogCreateDto 登录日志新增Dto
     * @return 登录日志
     */
    LoginLogVo insert(LoginLogCreateDto loginLogCreateDto);
    
    /**
     * 根据唯一编号更新
     * @param loginLogUpdateDto 登录日志更新Dto
     * @return 执行结果
     */
    Boolean updateByUniqueNo(LoginLogUpdateDto loginLogUpdateDto);
    
    /**
     * 根据唯一编号删除(逻辑删除)
     * @param loginLogDeleteDto 登录日志删除Dto
     * @return 执行结果
     */
    Boolean deleteByUniqueNo(LoginLogDeleteDto loginLogDeleteDto);
    
    /**
     * 根据唯一编号查询
     * @param loginLogNo 登录日志编号
     * @return 登录日志
     */
    LoginLogVo selectByUniqueNo(String loginLogNo);
    
    /**
     * 根据条件查询
     * @param loginLogQueryDto 登录日志查询Dto
     * @return 登录日志列表
     */
    List<LoginLogVo> selectByCondition(LoginLogQueryDto loginLogQueryDto);

    /**
     * 根据条件查询数量
     * @param loginLogQueryDto 登录日志查询Dto
     * @return 数量
     */
    Integer selectCount(LoginLogQueryDto loginLogQueryDto);

    /**
     * 根据条件分页查询
     * @param page 远程分页
     * @param loginLogQueryDto 登录日志查询Dto
     * @return 登录日志分页列表
     */
    Page<LoginLogVo> selectPage(Page page, LoginLogQueryDto loginLogQueryDto);
}
